import 'package:flutter/material.dart';

class SettingsScreen extends StatefulWidget {
  const SettingsScreen({super.key});

  @override
  // ignore: library_private_types_in_public_api
  _SettingsScreenState createState() => _SettingsScreenState();
}

class _SettingsScreenState extends State<SettingsScreen> {
  List<String> players = [];

  void _addPlayer(String name) {
    setState(() {
      players.add(name);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        automaticallyImplyLeading: false,
        backgroundColor: const Color.fromARGB(255, 119, 33, 33),
        title: const Center(
          child: Text(
            'Настройки игры',
            style: TextStyle(
                  color: Color.fromARGB(255, 223, 223, 223), // Белый цвет текста кнопки
                  fontWeight: FontWeight.bold, // Жирный шрифт
                  fontSize: 25, // Размер шрифта
                ),
            ),
        ), // Заголовок экрана
      ),
      backgroundColor: const Color.fromARGB(255, 65, 64, 64), // Цвет фона экрана
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            const SizedBox(height: 10,),
            const Text(
              'Список игроков:', 
              style: TextStyle(
                fontWeight: FontWeight.bold,
                color: Color.fromARGB(255, 223, 223, 223), // Цвет текста
                fontSize: 22, // Размер шрифта
              ),
            ),
            const SizedBox(height: 20),
            Expanded(
              child: ListView.builder(
                itemCount: players.length,
                itemBuilder: (BuildContext context, int index) {
                  return ListTile(
                    title: Text(players[index], style: const TextStyle(color: Colors.white)),
                  );
                },
              ),
            ),
          ],
        ),
      ),
      bottomNavigationBar: BottomAppBar(
        color: const Color.fromARGB(255, 119, 33, 33),
        shape: const CircularNotchedRectangle(),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: <Widget>[
            TextButton(
              onPressed: () {
                Navigator.pop(context);
              },
              style: ButtonStyle(
                foregroundColor: MaterialStateProperty.all(const Color.fromARGB(255, 223, 223, 223),), // Цвет текста
              ),
              child: const Row(
                mainAxisSize: MainAxisSize.min,
                children: [
                  Icon(Icons.arrow_back),
                  Text(
                    'Назад',
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Color.fromARGB(255, 223, 223, 223), // Цвет текста
                      fontSize: 18, // Размер шрифта
                    ),
                  ),
                ],
              ),
            ),
            TextButton(
              onPressed: () {
                // Действие при нажатии на кнопку
              },
              style: ButtonStyle(
                foregroundColor: MaterialStateProperty.all(const Color.fromARGB(255, 223, 223, 223),), // Цвет текста
              ),
              child: const Row(
                mainAxisSize: MainAxisSize.min,
                children: [
                  Text(
                    'Начать игру',
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: Color.fromARGB(255, 223, 223, 223), // Цвет текста
                      fontSize: 18, // Размер шрифта
                    ),
                  ),
                  Icon(Icons.navigate_next),
                ],
              ),
            )
          ],
        ),
      ),
      floatingActionButton: Positioned(
        bottom: 16.0,
        right: 16.0, 
        child: FloatingActionButton(
          onPressed: () {
            _showAddPlayerDialog(context);
          },
          backgroundColor: const Color.fromARGB(255, 119, 33, 33),
          foregroundColor: const Color.fromARGB(255, 223, 223, 223), // Цвет кнопки
          child: const Icon(Icons.add), // Знак плюса
        ),
      ),
    );
  }

  void _showAddPlayerDialog(BuildContext context) {
    String playerName = '';

    showDialog(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          backgroundColor: const Color.fromARGB(255, 119, 33, 33),
          title: 
            const Text(
              'Добавить игрока', 
              style: TextStyle(
                color: Color.fromARGB(255, 223, 223, 223),
             ),
            ),
          content: TextField(
            onChanged: (value) {
              playerName = value;
            },
            style: const TextStyle(color: Color.fromARGB(255, 223, 223, 223)),
            decoration: const InputDecoration(
              hintText: 'Введите имя игрока', 
              hintStyle: TextStyle(
                  color: Color.fromARGB(255, 223, 223, 223),
              ),
            ),
          ),
          actions: <Widget>[
            TextButton(
              onPressed: () {
                Navigator.of(context).pop();
              },
              child: const Text(
                'Отмена',
                style: TextStyle(
                    color: Color.fromARGB(255, 223, 223, 223),
                  ),
                ),
            ),
            ElevatedButton(
              onPressed: () {
                _addPlayer(playerName);
                Navigator.of(context).pop();
              },
              style: ElevatedButton.styleFrom(
                backgroundColor: const Color.fromARGB(255, 147, 25, 25), // Цвет фона кнопки
              ),
              child: const Text(
                'Создать',
                style: TextStyle(
                  color: Color.fromARGB(255, 223, 223, 223),
                  ),
                ),
            ),
          ],
        );
      },
    );
  }
}
